package com.gph.saviorframework.wf.model;

import java.io.Serializable;

/**
 * 配置流程定义中任务节点的执行人<br>
 * 分为两种：1 固定执行人;2 通过函数动态的获取执行人<br>
 * 启动配置参数，在runtime的时候使用无效，如果想在runtime中使用，请参考相关event
 */
public class ActivitiDefConfig implements Serializable {

    private String id;

    /**
     * 任务编号
     */
    private String taskId;

    /**
     * 流程定义编号
     */
    private String defId;

    /**
     * 获取执行人的方式：Fix代表固定执行人，Dynamic代表通过函数动态的获取执行人，ROLES代表的是角色
     */
    private String type;

    /**
     * 执行人，一个字符串或者一个函数，如果是函数的话会通过动态调用去获取
     */
    private String executor;
    
    /**
     * 在roles和fix模式下的中文名称
     */
    private String executorCN;

    /**
     * 能否配置自由流
     */
    private boolean canConfigZYL;

    /**
     * 自由流的分支：a->b,c表示的是a节点可以跳转到b和c其中的任何一个节点
     */
    private String zylBranchs;

    /**
     * 是否具有结束流程权限
     */
    private boolean haveFinish;
    
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getDefId() {
        return defId;
    }

    public void setDefId(String defId) {
        this.defId = defId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getExecutor() {
        return executor;
    }

    public void setExecutor(String executor) {
        this.executor = executor;
    }

    public String getExecutorCN() {
		return executorCN;
	}

	public void setExecutorCN(String executorCN) {
		this.executorCN = executorCN;
	}

	public boolean isCanConfigZYL() {
        return canConfigZYL;
    }

    public void setCanConfigZYL(boolean canConfigZYL) {
        this.canConfigZYL = canConfigZYL;
    }

    public String getZylBranchs() {
        return zylBranchs;
    }

    public void setZylBranchs(String zylBranchs) {
        this.zylBranchs = zylBranchs;
    }

    public boolean getHaveFinish() {
        return haveFinish;
    }

    public void setHaveFinish(boolean haveFinish) {
        this.haveFinish = haveFinish;
    }
}
